The present invention relates to the digital image processing arts. In particular, it relates to enhancement of digital image data, and a method and apparatus for controlling overshoot in the chrominance channel when edge enhancement operations are performed. Thus, the present invention provides a method and apparatus for reducing color fringing due to edge enhancement operations without compromising resulting edge sharpness.
A main advantage of digital image reproduction relative to traditional light-lens image reproduction resides in the ability to process the digital image data so as to enhance the appearance of the final output image. For example, digital filtering is often performed to sharpen edges and fine lines for purposes of making an output image more visually appealing. When reducing or scaling-down an image, pre-filtering is often performed prior to sub-sampling for purposes of anti-aliasing. Due to limitations of the filtering algorithm, this filtering operation can blur an image. Also, in color image reproduction, it is a common practice to sub-sample the chrominance information to reduce the number of bits necessary to represent an image. This, too, can result in blurred edges. In either case and others, edge enhancement of the filtered image can be performed to sharpen the final output image.
One drawback associated with conventional edge enhancement operations is that the chrominance information can be altered significantly from its original value so that the color of the final output image is altered compared to the original image. This xe2x80x9ccolor fringingxe2x80x9d is, obviously, undesirable and must be controlled in order to provide an aesthetically pleasing final image. Heretofore, no effective method and apparatus have been provided for controlling chrominance channel overshoot due to image enhancement operations without compromising edge sharpness.
In accordance with the present invention, a new and improved method and apparatus are provided for chrominance channel overshoot control in image enhancement operations.
In accordance with a first aspect of the present invention, a method of digital image processing comprises receiving input digital image data defining a plurality of pixels of an input color digital image, the input digital image data including at least a first input chrominance value for each of the pixels of the input image. For each of the pixels of the input digital image, the input digital image data defining the pixel is enhanced based upon the input digital image data defining neighborhood pixels in a spatial neighborhood established about the pixel to obtain enhanced digital image data defining the pixel, the enhanced digital image data including at least a first enhanced chrominance value. For each of the pixels of the input digital image, an overshoot control operation is performed on the enhanced digital image data defining the pixel, the overshoot control operation including:
determining first local maximum and first local minimum first input chrominance values in a neighborhood about the pixel;
comparing the first enhanced chrominance value to the first local maximum and first local minimum chrominance values to determine if the first enhanced pixel chrominance value is one of: (i) above the first local maximum chrominance value by a first overshoot amount; and, (ii) below the first local minimum chrominance value by a first overshoot amount;
if the first enhanced chrominance value of the pixel is above the first local maximum chrominance value, reducing the first enhanced chrominance value to reduce the first overshoot amount; and,
if the first enhanced chrominance value of the pixel is below the first local minimum chrominance value, increasing the first enhanced chrominance value to reduce the first overshoot amount.
In accordance with another aspect of the present invention, a method of enhancing a color digital image includes, for each of a plurality of pixels defining the color digital image, modifying a first chrominance value of a pixel in response to an enhancement filtering operation to obtain a modified first chrominance value for the pixel. Within a neighborhood of pixels spatially near the pixel, identifying a local minimum and a local maximum first chrominance value of the pixels within the neighborhood. The modified first chrominance value is compared to at least one of the local minimum and local maximum first chrominance values and, if the modified first chrominance value is greater than the local maximum first chrominance value, the modified first chrominance value of the pixel is reduced by a select percentage of the amount by which the modified first chrominance value exceeds the local maximum first chrominance value. If the modified first chrominance value is less than the local minimum first chrominance value, the modified first chrominance value of the pixel is increased by a select percentage of the amount by which the modified first chrominance value is less than said local minimum first chrominance value.
In accordance with still another aspect of the present invention, a digital image processing apparatus includes means for receiving input digital image data defining a plurality of pixels of an input color digital image, the input digital image data including an input chrominance value for each of the pixels of the input image. The apparatus also includes means for enhancing the input digital image data defining each of the pixels based upon the input digital image data defining neighborhood pixels in a spatial neighborhood established about each of the pixels to obtain enhanced digital image data defining each of the pixels, the enhanced digital image data including an enhanced chrominance value. A means is provided for performing an overshoot control operation on the enhanced digital image data defining each of the pixels, and includes:
means for determining a local maximum and a local minimum input chrominance value in a neighborhood about a select pixel;
means for comparing the enhanced chrominance value to the local maximum and local minimum chrominance values to determine if the enhanced pixel chrominance value is one of: (i) above the local maximum chrominance value by an overshoot amount; and, (ii) below the local minimum chrominance value by an overshoot amount;
means for reducing the enhanced chrominance value to reduce the overshoot amount if the enhanced chrominance value of the select pixel is above the local maximum chrominance value; and,
means for increasing the enhanced chrominance value to reduce the overshoot amount if the enhanced chrominance value of the select pixel is below the local minimum chrominance value.
In accordance with yet another aspect of the present invention, a method of controlling chrominance channel overshoot includes receiving a plurality of pixels of digital image data, each pixel defined in terms of an original luminance value and first and second original chrominance values. The digital image data are enhanced to convert each pixel of the image into an enhanced pixel defined in terms of an enhanced luminance value and first and second enhanced chrominance values. Local minimum and local maximum first original chrominance values associated with each enhanced pixel in a select neighborhood about each of the enhanced pixels are determined. Local minimum and local maximum second chrominance values associated with each enhanced pixel in a select neighborhood about each of the enhanced pixels are determined. For each enhanced pixel, the first and second enhanced chrominance values associated with the enhanced pixel are compared to the local maximum and local minimum first and second original chrominance values, respectively, to determine: (i) if the first enhanced chrominance value overshoots one of the local maximum and local minimum first original chrominance values by a first overshoot amount; or (ii) if the second enhanced chrominance value overshoots one of the local maximum and local minimum second original chrominance values by a second overshoot amount. For each enhanced pixel, if the first enhanced chrominance value overshoots one of the local maximum and local minimum first original chrominance values, the first enhanced chrominance value is adjusted to reduce the first overshoot amount. Likewise, for each enhanced pixel, if the second enhanced chrominance value overshoots one of the local maximum and local minimum second original chrominance values, the second enhanced chrominance value is adjusted to reduce the second overshoot amount.
One advantage of the present invention is the provision of a method and apparatus for chrominance channel overshoot control during digital image processing enhancement operations.
Another advantage of the present invention resides in the provision of a method and apparatus for controlling chrominance channel overshoot resulting from edge enhancement processing wherein color fringing is reduced without compromising edge sharpness.
A further advantage of the present invention is found in the provision of a method and apparatus for reducing chrominance channel overshoot using original min/max chrominance values from pixels in the neighborhood surrounding a pixel being processed.
Still other benefits and advantages of the present invention will become apparent to those of ordinary skill of the art to which the invention pertains upon reading and understanding the present specification.